**一、前言
在前幾天的學習中,
了解到Client可以透過HTTP向Server發送Request,
Server處理後再透過Response回傳資料。
而在實際使用Web API時,
會發現 API 回傳的資料常常長得像這樣:
{
"title": "Harry Potter",
"author": "J.K. Rowling"
}
第一次看到這種格式時,可能會覺得有點像程式碼,
但其實這是一種非常常見的資料格式:
**JSON
因此今天就要來了解JSON是什麼,
以及為什麼Web API很常使用JSON來傳遞資料。
⸻
**二、JSON 是什麼?
JSON是JavaScript Object Notation的縮寫,
中文通常翻譯為「JavaScript物件表示法」。
雖然名稱中有JavaScript,
但JSON並不只可以使用在JavaScript。
現在許多不同的程式語言都可以處理JSON,
因此它非常適合拿來作為不同系統之間交換資料的格式。
簡單來說
JSON就是一種用來表示與傳遞資料的格式。
例如一筆書籍資料可以表示成:
{
"title": "Harry Potter",
"author": "J.K. Rowling",
"year": 1997
}
這裡可以看到三組資料:
title → Harry Potter
author → J.K. Rowling
year → 1997
左邊是資料的名稱 右邊則是對應的資料內容。
⸻
三、JSON 的基本結構
JSON最常見的結構就是:
"名稱": "資料"
例如:
{
"name": "Tom",
"age": 20
}
可以理解成:
name → Tom
age → 20
JSON通常會使用 { } 包住一組物件,
而不同資料之間會使用逗號分隔。
除了文字和數字之外,
JSON也可以表示其他種類的資料,
例如:
{
"name": "Tom",
"age": 20,
"student": true
}
其中:
JSON也可以包含陣列,
例如:
{
"books": [
"Book A",
"Book B",
"Book C"
]
}
這代表books裡面有多筆資料。
因此當API回傳大量資料時,
也可以利用JSON把這些資料整理成有結構的形式。
⸻
四、為什麼API常使用JSON?
API需要在不同的系統之間傳遞資料,
因此資料格式需要讓電腦容易處理,
也要讓人可以相對容易閱讀。
JSON的格式簡單、結構清楚,
而且許多程式語言都能夠解析JSON。
例如今天有一個天氣App,需要從天氣API取得資料。
API可能回傳:
{
"temperature": 28,
"humidity": 75,
"weather": "Sunny"
}
App 收到這些資料後,就可以讀取:
temperature → 28
humidity → 75
weather → Sunny
再把這些資訊顯示在 App 的畫面上。
因此可以簡單理解成:
API Server→JSON 資料→App→顯示給使用者
JSON就像是Server和App之間共同使用的一種**資料格式。
⸻
**五、從API到JSON
把前幾天學到的內容串起來,
就可以更完整地理解API的運作方式。
例如今天使用GET查詢書籍資料:
Client→GET Request→API Server→找到符合條件的資料→JSON Response→Client
也就是說,JSON並不是API本身,
而是API傳遞資料時可能使用的一種格式。
API負責讓不同系統可以互相溝通,
而JSON則可以用來整理與傳遞這些資料。
⸻
**七、總結
今天主要認識了Web API中很常見的資料格式JSON。
JSON是一種用來表示與傳遞資料的格式,
具有結構清楚、容易閱讀,也方便不同程式語言處理等特性。
目前把前幾天的內容串起來
可以理解成
Client → HTTP Request → API Server → JSON Response → Client
到這裡已經知道API是什麼,
也了解 Request、Response、GET、POST、URL、Endpoint、Parameters,以及JSON的基本概念。
接下來就要開始認識API回傳結果中的另一個重要資訊:
HTTP Status Code 是什麼?
當API回傳 200、404 或 500 時,
這些數字又代表什麼意思?